﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BussinessLayer;
using DataAccessLayer.Entity;
namespace QLTSLienThong.Form_he_thong
{
    public partial class frmNganh : Form
    {
        public frmNganh()
        {
            InitializeComponent();
        }
        NganhBussiness nganhBussiness = new NganhBussiness();
        clsNganh clsNganh;
        bool _Them,KiemTraTonTai=true;
        object kq;
        private void btnHuyP_Click(object sender, EventArgs e)
        {
            LoadNganh();
        }
        private void MoControl()
        {
            txtMaNganh.ReadOnly = false;
            txtTenNganh.ReadOnly = false;
            btnThemP.SendToBack();
            btnSuaP.SendToBack();
        }
        private void KhoaControl()
        {
            txtMaNganh.ReadOnly = true;
            txtTenNganh.ReadOnly = true;
            btnThemP.BringToFront();
            btnSuaP.BringToFront();
        }
        private void XoaText()
        {
            txtTenNganh.Clear();
            txtMaNganh.Clear();
        }
        private void btnLuuP_Click(object sender, EventArgs e)
        {
            if (KiemTraDL())
            {
                if (_Them)
                {
                    clsNganh = new clsNganh();
                    clsNganh.MaNganh = txtMaNganh.Text.Trim();
                    clsNganh.TenNganh = txtTenNganh.Text.Trim();
                    nganhBussiness.ThemNganh(clsNganh);
                    MessageBox.Show("Thêm thành công!","Thông báo!");
                    LoadNganh();
                }
                else
                {
                    clsNganh = new clsNganh();
                    clsNganh.MaNganh = txtMaNganh.Text.Trim();
                    clsNganh.TenNganh = txtTenNganh.Text.Trim();
                    nganhBussiness.SuaNganh(clsNganh);
                    MessageBox.Show("Sửa thành công!", "Thông báo!");
                    LoadNganh();
                }
            }
        }

        private void btnSuaP_Click(object sender, EventArgs e)
        {
            _Them = false;
            MoControl();
        }

        private void btnThemP_Click(object sender, EventArgs e)
        {
            _Them = true;
            MoControl();
            XoaText();
        }

        private void btnXoaP_Click(object sender, EventArgs e)
        {
            XoaNganh();
        }

        private void frmNganh_Load(object sender, EventArgs e)
        {
            LoadNganh();
        }
        private void LoadNganh()
        {
            dtgNganh.DataSource = nganhBussiness.LoadNganh();
            LoadControl();
            KhoaControl();
        }
        private void LoadControl()
        {
            txtMaNganh.DataBindings.Clear();
            txtMaNganh.DataBindings.Add("Text",dtgNganh.DataSource,"MaNganh");
            txtTenNganh.DataBindings.Clear();
            txtTenNganh.DataBindings.Add("Text", dtgNganh.DataSource, "TenNganh");
        }
        private bool KiemTraDL()
        {
            if (txtMaNganh.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập mã ngành!","Thông báo!");
                txtMaNganh.Focus();
                return false;
            }
            if (_Them == false)
            {
                if (txtMaNganh.Text.Trim() == dtgNganh.CurrentRow.Cells["MaNganh"].Value.ToString())
                {
                    KiemTraTonTai = false;
                }
            }
            if (KiemTraTonTai == true)
            {
                clsNganh = new clsNganh();
                clsNganh.MaNganh = txtMaNganh.Text.Trim();
                kq = nganhBussiness.KiemTraMa(clsNganh);
                if (Convert.ToInt32(kq) > 0)
                {
                    MessageBox.Show("Mã này đã tồn tài! Nhập một mã khác!", "Thông báo!");
                    txtMaNganh.Focus();
                    return false;
                }
            }
            if (txtTenNganh.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập tên ngành!", "Thông báo!");
                txtTenNganh.Focus();
                return false;
            }
            return true;
        }
        private void XoaNganh()
        {
            if (MessageBox.Show("Bạn muốn xóa mã ngành: " + txtMaNganh.Text.Trim() + "?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                clsNganh = new clsNganh();
                clsNganh.MaNganh = txtMaNganh.Text.Trim();
                //clsNganh.TenNganh = txtTenNganh.Text.Trim();
                nganhBussiness.XoaNganh(clsNganh);
                //MessageBox.Show("Thêm thành công!", "Thông báo!");
                LoadNganh();
            }
        }

        private void txtTenNganh_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btnLuuP_Click(null,null);
            }
        }
    }
}
